查看原文
其他

微软开源用于大规模查找并修复漏洞的开发者工具 Project OneFuzz 框架

微软 代码卫士 2022-05-23
 聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
近日,微软发布公告宣布开源用于大规模查找并修复漏洞的自动化工具 OneFuzz 框架。如下为全文:


微软致力于和社区以及客户一起持续改进并调整平台和产品,抵御多变复杂的威胁局势。今年早些时候,我们宣布顺应时势,将用自动开源工具替代现有的软件测试方法即“微软安全和风险检测 (MicrosoftSecurity and Risk Detection)”。现在,我们很高兴地发布新工具“Project OneFuzz”。它是一款适用于 Azure 的可扩展模糊测试框架,已在GitHub 开源。它曾是Edge、Windows 和微软其它团队所使用的测试框架,如今对全球所有的开发人员开源。
模糊测试是一种增强原生代码安全性和可靠性的高效方式,是找到并删除成本高昂且可遭利用的安全缺陷的黄金标准。历史以来,模糊测试对于开发人员而言一直是一把双刃剑:它是软件开发生命周期的强制步骤,在查找可遭利用缺陷方面效率很高;但从中治理、执行并提取信息的过程异常复杂。这种复杂性要求专门的安全工程团队来构建并运行模糊测试能力,导致它虽然作用很大但代价高昂。为开发人员执行模糊测试赋能,使得漏洞能在开发生命周期更早时候被发现,同时为安全工程团队解压,让他们投入更积极的工作中。
为开发人员赋能,使其能够在软件发布之前轻松并持续对代码进行模糊测试是微软的目标,是其赋能任务的核心所在。此次向全球发布 Project OneFuzz 旨在加固日常工作和个人生活所依赖的平台和工具的安全性,让攻击更难以执行。
最近编译器领域所取得的进展已在 LLVM 中开源且由谷歌率先推动,它已经改变了模糊测试原生代码中所牵涉的安全工程任务。之前被(以极高的代价)附加的东西现在可通过如下方式嵌入持续的 build 系统中:
  • 检测崩溃,之前通过 Electric Fence 等工具附加,现可通过 asan 嵌入

  • 追踪覆盖范围,之前通过 iDNA、Dynamo Rio 和 Pin 等工具附加,现可通过 sancov 嵌入

  • 治理输入,之前通过自定义 I/O 治理实现,现在可通过 libfuzzer的LLVMFuzzerTestOneInput 函数原型嵌入

这些进展可使开发人员使用现代化的模糊实验室来创建单元测试二进制文件。该实验室可在如下方面进行编译:高度可靠的测试调用、输入生成、覆盖和在单个可执行文件中的错误检测。微软 Visual Studio 已经加大了对这些特征的实验性支持。一旦这些测试二进制文件能通过编译器构建,那么当前的开发人员将面临着将二进制文件构建到 CI/CD 管道并扩展云中模糊测试工作负载的挑战。
Project OneFuzz 已启用了由开发人员驱动的 Windows持续模糊测试,使得微软能够在发布最新的 OS 版本前主动加固 Windows 平台的安全性。开发人员仅通过一个命令行(嵌入到build系统中),就能启动模糊作业,规模从几个虚拟机到数千个内核的不等。Project OneFuzz 支持:
  • 可组合的模糊处理工作流:开源使得用户能够使用自己的模糊测试工具、交换仪器并管理种子输入。

  • 内置的整体模糊测试:在默认情况下,模糊测试工具以团队的方式共享优势,在模糊测试技术之间交换感兴趣的输入。

  • 程序分类和重复结果数据删除:它提供了始终可复制的独特缺陷案例。

  • 按需对已发现崩溃案例进行实时调试:可按需或从 build 系统中调用实时调试会话。

  • 可观察和可调试:透明设计使得能对每个阶段进行反省。

  • Windows Linux 操作系统执行模糊测试:设计为多平台模式。使用自己的 OS build、内核或嵌入式管理程序进行模糊测试。

  • 崩溃报告通知回调:当前支持 Azure DevOps WorkItems 和 Microsoft Teams 消息。

当前,Project OneFuzz已按照 MIT 许可证的要求在 GitHub 上开源,目前贡献人员源自微软研究和安全事业群,不过随着合作关系的进一步开展以及在公司内模糊测试覆盖范围的扩展,将持续改进所有微软平台和产品的安全性。微软将继续维护和扩展 Project OneFuzz,在开源社区及时发布更新。欢迎社区加入这个项目。
GitHub 地址:
https://www.microsoft.com/en-us/microsoft-365/blog/2020/07/08/future-work-good-challenging-unknown/

 



推荐阅读
微软开源攻击面分析器工具 2.0
他们从各大操作系统中发现了26个 USB 漏洞,用的是这款模糊测试工具



原文链接

https://www.microsoft.com/security/blog/2020/09/15/microsoft-onefuzz-framework-open-source-developer-tool-fix-bugs/



题图:Pixabay License


本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。


奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    觉得不错,就点个 “在看” 吧~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存